// 引入必要的函数和组件
import { createRouter, createWebHistory } from 'vue-router';
import HomeView from '../views/HomeView.vue';  // 引入你自己的主页组件
import AppNavbar from '@/components/AppNavbar.vue';
import LoginedView from '@/views/LoginedView.vue';
import GameManagementView from '@/views/GameManagementView.vue';
import GameLibraryView from '@/views/GameLibraryView.vue';
import GameMerchView from '@/views/GameMerchView.vue';
import GameMerchManagementView from '@/views/GameMerchManagementView.vue';

// 定义路由规则
const routes = [
      // 使用 MainLayout 布局的页面
  {
    path: '/navabar',
    component: AppNavbar, // 所有子路由都会继承这个布局
  },
  //登录后页面
    { path: '/Logined',
      component: LoginedView ,
      meta: { requiresAuth: true } 
    },
    {
      path: '/login',
      component: HomeView
    },
    {
      path:'/GameManagement',
      component: GameManagementView
    },
    {
      path:'/GameLibrary',
      component: GameLibraryView
    },
    {
      path:'/GameMerch',
      component: GameMerchView
    },
    {
      path:'/GameMerchManagement',
      component: GameMerchManagementView
    },
 
];

// 创建路由器实例
const router = createRouter({
  history: createWebHistory(),  // 使用 HTML5 的 history 模式
  routes   // 简写，相当于 routes: routes
});

//路由守卫
router.beforeEach((to, from, next) => {
  // 1. 检查目标页面是否需要登录
  if (to.meta.requiresAuth) {
    // 2. 检查是否已登录（简单版用localStorage判断）
    const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true'
    
    if (!isLoggedIn) {
      // 3. 未登录则跳转到登录页
      next('/login')
    } else {
      // 4. 已登录则放行
      next()
    }
  } else {
    // 不需要登录的页面直接放行
    next()
  }
})

// 导出 router，供 main.js 使用
export default router;